﻿using System;
using System.ComponentModel;
using System.Runtime.Serialization;

namespace RiskMan.DataClass.Models.NotBasModels
{
    /// <summary>
    /// Модель данных для строки Ledders
    /// </summary>
    [Serializable]
    public class TradesOpen : INotifyPropertyChanged, ISerializable
    {
        #region private

        //заявки на открытие позиций
        private DateTime _openDate;
        private string _openOperation;
        private int _openQuantity;
        private int _openBalance;
        private string _openStatusOrder;
        private long _openId;
        private long _openNumberOrder;
        private double _openPriceOrder;
        private DateTime _timeKillOpenOrder;
           
        //Стоп-заявки на открытие позиции
        private DateTime _stopLimitOpenDate;
        private string _stopLimitOpenOperation;
        private int _stopLimitOpenQuantity;
        private int _stopLimitOpenBalance;
        private string _stopLimitOpenStatusOrder;
        private string _stopLimitOpenResult;
        private long _stopLimitOpenId;
        private long _stopLimitOpenNumberOrder;
        private double _stopLimitOpenPriceOrder;
        private long _stopLimitOpenNumberLinkidOrder;
        private DateTime _timeKillOpenStopOrder;
           
        //Заявка от стоп-заявки на открытие позиции 
        private DateTime _orderFromStopLimitOpenDate;
        private string _orderFromStopLimitOpenOperation;
        private int _orderFromStopLimitOpenQuantity;
        private int _orderFromStopLimitOpenBalance;
        private string _orderFromStopLimitOpenStatusOrder;
        private long _orderFromStopLimitOpenId;
        private long _orderFromStopLimitOpenNumberOrder;
        private double _orderFromStopLimitOpenPriceOrder;
        private DateTime _timeKillOpenOrderFromStopOrder;

        //заявки на закрытие позиций
        private DateTime _closeDate;
        private string _closeOperation;
        private int _closeQuantity;
        private int _closeBalance;
        private string _closeStatusOrder;
        private long _closeId;
        private long _closeNumberOrder;
        private double _closePriceOrder;
        private DateTime _timeKillCloseOrder;
           
        //Стоп-заявки на закрытие позиции (Cтоп-лосс)
        private DateTime _stopLimitCloseDate;
        private string _stopLimitCloseOperation;
        private int _stopLimitCloseQuantity;
        private int _stopLimitCloseBalance;
        private string _stopLimitCloseStatusOrder;
        private string _stopLimitCloseResult;
        private long _stopLimitCloseId;
        private long _stopLimitCloseNumberOrder;
        private double _stopLimitclosePriceOrder;
        private long _stopLimitCloseNumberLinkidOrder;
        private DateTime _timeKillCloseStopOrder;
           
        //Стоп-заявки на закрытие позиции (Cтоп-лосс)
        private DateTime _orderFromStopLimitCloseDate;
        private string _orderFromStopLimitCloseOperation;
        private int _orderFromStopLimitCloseQuantity;
        private int _orderFromStopLimitCloseBalance;
        private string _orderFromStopLimitCloseStatusOrder;
        private long _orderFromStopLimitCloseId;
        private long _orderFromStopLimitCloseNumberOrder;
        private double _orderFromStopLimitclosePriceOrder;
        private DateTime _timeKillCloseOrderFromStopOrder;

           
        #endregion

        #region public
        #region Заявка на открытие
        /// <summary>
        /// Время заявки на открытие
        /// </summary>
        public DateTime OpenDate
        {
            get { return _openDate; }
            set
            {
                if (_openDate != value)
                {
                    _openDate = value;
                    RaisePropertyChanged("OpenDate");
                }
            }
        }
        /// <summary>
        /// Операция заявки на открытие позиции
        /// </summary>
        public string OpenOperation
        {
            get { return _openOperation; }
            set
            {
                if (_openOperation != value)
                {
                    _openOperation = value;
                    RaisePropertyChanged("OpenOperation");
                }
            }
        }
        /// <summary>
        /// Общее количество в заявке на открытие позиции
        /// </summary>
        public int OpenQuantity
        {
            get { return _openQuantity; }
            set
            {
                if (_openQuantity != value)
                {
                    _openQuantity = value;
                    RaisePropertyChanged("OpenQuantity");
                }
            }
        }
        /// <summary>
        /// Исполненное количество контрактов на открытие позиции
        /// </summary>
        public int OpenBalance
        {
            get { return _openBalance; }
            set
            {
                if (_openBalance != value)
                {
                    _openBalance = value;
                    RaisePropertyChanged("OpenBalance");
                }
            }
        }
        /// <summary>
        /// Статус заявки на открытие позиции
        /// </summary>
        public string OpenStatusOrder
        {
            get { return _openStatusOrder; }
            set
            {
                if (_openStatusOrder != value)
                {
                    _openStatusOrder = value;
                    RaisePropertyChanged("OpenStatusOrder");
                }
            }
        }
        /// <summary>
        /// ID заявки на открытие позиции
        /// </summary>
        public long OpenID
        {
            get { return _openId; }
            set
            {
                if (_openId != value)
                {
                    _openId = value;
                    RaisePropertyChanged("OpenID");
                }
            }
        }
        /// <summary>
        /// Номер заявки на открытие позиции
        /// </summary>
        public long OpenNumberOrder
        {
            get { return _openNumberOrder; }
            set
            {
                if (_openNumberOrder != value)
                {
                    _openNumberOrder = value;
                    RaisePropertyChanged("OpenNumberOrder");
                }
            }
        }
        /// <summary>
        /// Цена в заявке на открытие позиции
        /// </summary>
        public double OpenPriceOrder
        {
            get { return _openPriceOrder; }
            set
            {
                if (_openPriceOrder != value)
                {
                    _openPriceOrder = value;
                    RaisePropertyChanged("OpenPriceOrder");
                }
            }
        }

        /// <summary>
        /// Время выставления заявки на открытие позиции фактическое
        /// </summary>
        public DateTime TimeKillOpenOrder
        {
            get { return _timeKillOpenOrder; }
            set
            {
                if (_timeKillOpenOrder != value)
                {
                    _timeKillOpenOrder = value;
                    RaisePropertyChanged("TimeKillOpenOrder");
                }
            }
        }
        #endregion

        #region Заявка на открытие Стоп-лимит
        /// <summary>
        /// Время стоп заявки на открытие
        /// </summary>
        public DateTime StopLimitOpenDate
        {
            get { return _stopLimitOpenDate; }
            set
            {
                if (_stopLimitOpenDate != value)
                {
                    _stopLimitOpenDate = value;
                    RaisePropertyChanged("StopLimitOpenDate");
                }
            }
        }
        /// <summary>
        /// Операция стоп заявки на открытие позиции
        /// </summary>
        public string StopLimitOpenOperation
        {
            get { return _stopLimitOpenOperation; }
            set
            {
                if (_stopLimitOpenOperation != value)
                {
                    _stopLimitOpenOperation = value;
                    RaisePropertyChanged("StopLimitOpenOperation");
                }
            }
        }
        /// <summary>
        /// Общее количество в стоп заявке на открытие позиции
        /// </summary>
        public int StopLimitOpenQuantity
        {
            get { return _stopLimitOpenQuantity; }
            set
            {
                if (_stopLimitOpenQuantity != value)
                {
                    _stopLimitOpenQuantity = value;
                    RaisePropertyChanged("StopLimitOpenQuantity");
                }
            }
        }
        /// <summary>
        /// Исполненное количество контрактов в стоп заявке на открытие позиции
        /// </summary>
        public int StopLimitOpenBalance
        {
            get { return _stopLimitOpenBalance; }
            set
            {
                if (_stopLimitOpenBalance != value)
                {
                    _stopLimitOpenBalance = value;
                    RaisePropertyChanged("StopLimitOpenBalance");
                }
            }
        }
        /// <summary>
        /// Статус стоп заявки на открытие позиции
        /// </summary>
        public string StopLimitOpenStatusOrder
        {
            get { return _stopLimitOpenStatusOrder; }
            set
            {
                if (_stopLimitOpenStatusOrder != value)
                {
                    _stopLimitOpenStatusOrder = value;
                    RaisePropertyChanged("StopLimitOpenStatusOrder");
                }
            }
        }
        /// <summary>
        /// Результат стоп заявки на открытие позиции (выставлена в систему)
        /// </summary>
        public string StopLimitOpenResult
        {
            get { return _stopLimitOpenResult; }
            set
            {
                if (_stopLimitOpenResult != value)
                {
                    _stopLimitOpenResult = value;
                    RaisePropertyChanged("StopLimitOpenResult");
                }
            }
        }
        /// <summary>
        /// ID стоп заявки на открытие позиции
        /// </summary>
        public long StopLimitOpenID
        {
            get { return _stopLimitOpenId; }
            set
            {
                if (_stopLimitOpenId != value)
                {
                    _stopLimitOpenId = value;
                    RaisePropertyChanged("StopLimitOpenID");
                }
            }
        }
        /// <summary>
        /// Номер стоп заявки на открытие позиции
        /// </summary>
        public long StopLimitOpenNumberOrder
        {
            get { return _stopLimitOpenNumberOrder; }
            set
            {
                if (_stopLimitOpenNumberOrder != value)
                {
                    _stopLimitOpenNumberOrder = value;
                    RaisePropertyChanged("StopLimitOpenNumberOrder");
                }
            }
        }

        /// <summary>
        /// Цена в стоп заявке на открытие позиции
        /// </summary>
        public double StopLimitOpenPrice
        {
            get { return _stopLimitOpenPriceOrder; }
            set
            {
                if (_stopLimitOpenPriceOrder != value)
                {
                    _stopLimitOpenPriceOrder = value;
                    RaisePropertyChanged("StopLimitOpenPriceOrder");
                }
            }
        }

        /// <summary>
        /// Номер связанной заявки по стоп заявке на открытие позиции
        /// </summary>
        public long StopLimitOpenNumberLinkidOrder
        {
            get { return _stopLimitOpenNumberLinkidOrder; }
            set
            {
                if (_stopLimitOpenNumberLinkidOrder != value)
                {
                    _stopLimitOpenNumberLinkidOrder = value;
                    RaisePropertyChanged("StopLimitOpenNumberLinkidOrder");
                }
            }
        }
        /// <summary>
        /// Время выставления стоп-заявки на открытие позиции фактическое
        /// </summary>
        public DateTime TimeKillOpenStopOrder
        {
            get { return _timeKillOpenStopOrder; }
            set
            {
                if (_timeKillOpenStopOrder != value)
                {
                    _timeKillOpenStopOrder = value;
                    RaisePropertyChanged("TimeKillOpenStopOrder");
                }
            }
        }
        #endregion стоп-заявка на закрытие позиции

        #region Заявка от Стоп-лимит на закрытие позиции
        /// <summary>
        /// Время заявки от стоп-заявки в заявке на открытие
        /// </summary>
        public DateTime OrderFromStopLimitOpenDate
        {
            get { return _orderFromStopLimitOpenDate; }
            set
            {
                if (_orderFromStopLimitOpenDate != value)
                {
                    _orderFromStopLimitOpenDate = value;
                    RaisePropertyChanged("OrderFromStopLimitOpenDate");
                }
            }
        }
        /// <summary>
        /// Операция  заявки от стоп-заявки на открытие позиции
        /// </summary>
        public string OrderFromStopLimitOpenOperation
        {
            get { return _orderFromStopLimitOpenOperation; }
            set
            {
                if (_orderFromStopLimitOpenOperation != value)
                {
                    _orderFromStopLimitOpenOperation = value;
                    RaisePropertyChanged("OrderFromStopLimitOpenOperation");
                }
            }
        }
        /// <summary>
        /// Общее количество в  заявке от стоп-заявки на открытие позиции
        /// </summary>
        public int OrderFromStopLimitOpenQuantity
        {
            get { return _orderFromStopLimitOpenQuantity; }
            set
            {
                if (_orderFromStopLimitOpenQuantity != value)
                {
                    _orderFromStopLimitOpenQuantity = value;
                    RaisePropertyChanged("OrderFromStopLimitOpenQuantity");
                }
            }
        }
        /// <summary>
        /// Исполненное количество контрактов в  заявке от стоп-заявки на открытие позиции
        /// </summary>
        public int OrderFromStopLimitOpenBalance
        {
            get { return _orderFromStopLimitOpenBalance; }
            set
            {
                if (_orderFromStopLimitOpenBalance != value)
                {
                    _orderFromStopLimitOpenBalance = value;
                    RaisePropertyChanged("OrderFromStopLimitOpenBalance");
                }
            }
        }
        /// <summary>
        /// Статус  заявки от стоп-заявки на открытие позиции
        /// </summary>
        public string OrderFromStopLimitOpenStatusOrder
        {
            get { return _orderFromStopLimitOpenStatusOrder; }
            set
            {
                if (_orderFromStopLimitOpenStatusOrder != value)
                {
                    _orderFromStopLimitOpenStatusOrder = value;
                    RaisePropertyChanged("OrderFromStopLimitOpenStatusOrder");
                }
            }
        }
        /// <summary>
        /// ID  заявки от стоп-заявки на открытие позиции
        /// </summary>
        public long OrderFromStopLimitOpenID
        {
            get { return _orderFromStopLimitOpenId; }
            set
            {
                if (_orderFromStopLimitOpenId != value)
                {
                    _orderFromStopLimitOpenId = value;
                    RaisePropertyChanged("OrderFromStopLimitOpenID");
                }
            }
        }
        /// <summary>
        /// Номер  заявки от стоп-заявки на открытие позиции
        /// </summary>
        public long OrderFromStopLimitOpenNumberOrder
        {
            get { return _orderFromStopLimitOpenNumberOrder; }
            set
            {
                if (_orderFromStopLimitOpenNumberOrder != value)
                {
                    _orderFromStopLimitOpenNumberOrder = value;
                    RaisePropertyChanged("OrderFromStopLimitOpenNumberOrder");
                }
            }
        }
        /// <summary>
        /// Цена в  заявки от стоп-заявке на открытие позиции
        /// </summary>
        public double OrderFromStopLimitOpenPriceOrder
        {
            get { return _orderFromStopLimitOpenPriceOrder; }
            set
            {
                if (_orderFromStopLimitOpenPriceOrder != value)
                {
                    _orderFromStopLimitOpenPriceOrder = value;
                    RaisePropertyChanged("OrderFromStopLimitOpenPriceOrder");
                }
            }
        }
        /// <summary>
        /// Время выставления заявки от стоп-заявки на открытие позиции фактическое
        /// </summary>
        public DateTime TimeKillOpenOrderFromStopOrder
        {
            get { return _timeKillOpenOrderFromStopOrder; }
            set
            {
                if (_timeKillOpenOrderFromStopOrder != value)
                {
                    _timeKillOpenOrderFromStopOrder = value;
                    RaisePropertyChanged("TimeKillOpenOrderFromStopOrder");
                }
            }
        }
        #endregion стоп-заявка на закрытие позиции

        #region Заявка на закрытие
        /// <summary>
        /// Время заявки на закрытие
        /// </summary>
        public DateTime CloseDate
        {
            get { return _closeDate; }
            set
            {
                if (_closeDate != value)
                {
                    _closeDate = value;
                    RaisePropertyChanged("CloseDate");
                }
            }
        }
        /// <summary>
        /// Операция заявки на закрытие позиции
        /// </summary>
        public string CloseOperation
        {
            get { return _closeOperation; }
            set
            {
                if (_closeOperation != value)
                {
                    _closeOperation = value;
                    RaisePropertyChanged("CloseOperation");
                }
            }
        }
        /// <summary>
        /// Общее количество в заявке на закрытие позиции
        /// </summary>
        public int CloseQuantity
        {
            get { return _closeQuantity; }
            set
            {
                if (_closeQuantity != value)
                {
                    _closeQuantity = value;
                    RaisePropertyChanged("CloseQuantity");
                }
            }
        }
        /// <summary>
        /// Исполненное количество контрактов на закрытие позиции
        /// </summary>
        public int CloseBalance
        {
            get { return _closeBalance; }
            set
            {
                if (_closeBalance != value)
                {
                    _closeBalance = value;
                    RaisePropertyChanged("CloseBalance");
                }
            }
        }
        /// <summary>
        /// Статус заявки на закрытие позиции
        /// </summary>
        public string CloseStatusOrder
        {
            get { return _closeStatusOrder; }
            set
            {
                if (_closeStatusOrder != value)
                {
                    _closeStatusOrder = value;
                    RaisePropertyChanged("CloseStatusOrder");
                }
            }
        }
        /// <summary>
        /// ID заявки на закрытие позиции
        /// </summary>
        public long CloseID
        {
            get { return _closeId; }
            set
            {
                if (_closeId != value)
                {
                    _closeId = value;
                    RaisePropertyChanged("CloseID");
                }
            }
        }
        /// <summary>
        /// Номер заявки на закрытие позиции
        /// </summary>
        public long CloseNumberOrder
        {
            get { return _closeNumberOrder; }
            set
            {
                if (_closeNumberOrder != value)
                {
                    _closeNumberOrder = value;
                    RaisePropertyChanged("CloseNumberOrder");
                }
            }
        }
        /// <summary>
        /// Цена в заявке на закрытие позиции
        /// </summary>
        public double ClosePriceOrder
        {
            get { return _closePriceOrder; }
            set
            {
                if (_closePriceOrder != value)
                {
                    _closePriceOrder = value;
                    RaisePropertyChanged("ClosePriceOrder");
                }
            }
        }
        /// <summary>
        /// Время выставления заявки на закрытие позиции фактическое
        /// </summary>
        public DateTime TimeKillCloseOrder
        {
            get { return _timeKillCloseOrder; }
            set
            {
                if (_timeKillCloseOrder != value)
                {
                    _timeKillCloseOrder = value;
                    RaisePropertyChanged("TimeKillCloseOrder");
                }
            }
        }
        #endregion

        #region Заявка на закрытие Стоп-лимит
        /// <summary>
        /// Время стоп заявки на закрытие
        /// </summary>
        public DateTime StopLimitCloseDate
        {
            get { return _stopLimitCloseDate; }
            set
            {
                if (_stopLimitCloseDate != value)
                {
                    _stopLimitCloseDate = value;
                    RaisePropertyChanged("StopLimitCloseDate");
                }
            }
        }
        /// <summary>
        /// Операция стоп заявки на закрытие позиции
        /// </summary>
        public string StopLimitCloseOperation
        {
            get { return _stopLimitCloseOperation; }
            set
            {
                if (_stopLimitCloseOperation != value)
                {
                    _stopLimitCloseOperation = value;
                    RaisePropertyChanged("StopLimitCloseOperation");
                }
            }
        }
        /// <summary>
        /// Общее количество в стоп заявке на закрытие позиции
        /// </summary>
        public int StopLimitCloseQuantity
        {
            get { return _stopLimitCloseQuantity; }
            set
            {
                if (_stopLimitCloseQuantity != value)
                {
                    _stopLimitCloseQuantity = value;
                    RaisePropertyChanged("StopLimitCloseQuantity");
                }
            }
        }
        /// <summary>
        /// Исполненное количество контрактов в стоп заявке на закрытие позиции
        /// </summary>
        public int StopLimitCloseBalance
        {
            get { return _stopLimitCloseBalance; }
            set
            {
                if (_stopLimitCloseBalance != value)
                {
                    _stopLimitCloseBalance = value;
                    RaisePropertyChanged("StopLimitCloseBalance");
                }
            }
        }
        /// <summary>
        /// Статус стоп заявки на закрытие позиции
        /// </summary>
        public string StopLimitCloseStatusOrder
        {
            get { return _stopLimitCloseStatusOrder; }
            set
            {
                if (_stopLimitCloseStatusOrder != value)
                {
                    _stopLimitCloseStatusOrder = value;
                    RaisePropertyChanged("StopLimitCloseStatusOrder");
                }
            }
        }
        /// <summary>
        /// Результат стоп заявки на закрытие позиции (выставлена в систему)
        /// </summary>
        public string StopLimitCloseResult
        {
            get { return _stopLimitCloseResult; }
            set
            {
                if (_stopLimitCloseResult != value)
                {
                    _stopLimitCloseResult = value;
                    RaisePropertyChanged("StopLimitCloseResult");
                }
            }
        }
        /// <summary>
        /// ID стоп заявки на закрытие позиции
        /// </summary>
        public long StopLimitCloseID
        {
            get { return _stopLimitCloseId; }
            set
            {
                if (_stopLimitCloseId != value)
                {
                    _stopLimitCloseId = value;
                    RaisePropertyChanged("StopLimitCloseID");
                }
            }
        }
        /// <summary>
        /// Номер стоп заявки на закрытие позиции
        /// </summary>
        public long StopLimitCloseNumberOrder
        {
            get { return _stopLimitCloseNumberOrder; }
            set
            {
                if (_stopLimitCloseNumberOrder != value)
                {
                    _stopLimitCloseNumberOrder = value;
                    RaisePropertyChanged("StopLimitCloseNumberOrder");
                }
            }
        }
        /// <summary>
        /// Номер связанной заявки по стоп заявке на закрытие позиции
        /// </summary>
        public long StopLimitCloseNumberLinkidOrder
        {
            get { return _stopLimitCloseNumberLinkidOrder; }
            set
            {
                if (_stopLimitCloseNumberLinkidOrder != value)
                {
                    _stopLimitCloseNumberLinkidOrder = value;
                    RaisePropertyChanged("StopLimitCloseNumberLinkidOrder");
                }
            }
        }
        /// <summary>
        /// Цена в стоп заявке на закрытие позиции
        /// </summary>
        public double StopLimitClosePrice
        {
            get { return _stopLimitclosePriceOrder; }
            set
            {
                if (_stopLimitclosePriceOrder != value)
                {
                    _stopLimitclosePriceOrder = value;
                    RaisePropertyChanged("StopLimitclosePriceOrder");
                }
            }
        }
        /// <summary>
        /// Время выставления стоп-заявки на закрытие позиции фактическое
        /// </summary>
        public DateTime TimeKillCloseStopOrder
        {
            get { return _timeKillCloseStopOrder; }
            set
            {
                if (_timeKillCloseStopOrder != value)
                {
                    _timeKillCloseStopOrder = value;
                    RaisePropertyChanged("TimeKillCloseStopOrder");
                }
            }
        }
        #endregion стоп-заявка на закрытие позиции

        #region Заявка от Стоп-лимит на закрытие позиции
        /// <summary>
        /// Время заявки от стоп-заявки в заявке на закрытие
        /// </summary>
        public DateTime OrderFromStopLimitCloseDate
        {
            get { return _orderFromStopLimitCloseDate; }
            set
            {
                if (_orderFromStopLimitCloseDate != value)
                {
                    _orderFromStopLimitCloseDate = value;
                    RaisePropertyChanged("OrderFromStopLimitCloseDate");
                }
            }
        }
        /// <summary>
        /// Операция  заявки от стоп-заявки на закрытие позиции
        /// </summary>
        public string OrderFromStopLimitCloseOperation
        {
            get { return _orderFromStopLimitCloseOperation; }
            set
            {
                if (_orderFromStopLimitCloseOperation != value)
                {
                    _orderFromStopLimitCloseOperation = value;
                    RaisePropertyChanged("OrderFromStopLimitCloseOperation");
                }
            }
        }
        /// <summary>
        /// Общее количество в  заявке от стоп-заявки на закрытие позиции
        /// </summary>
        public int OrderFromStopLimitCloseQuantity
        {
            get { return _orderFromStopLimitCloseQuantity; }
            set
            {
                if (_orderFromStopLimitCloseQuantity != value)
                {
                    _orderFromStopLimitCloseQuantity = value;
                    RaisePropertyChanged("OrderFromStopLimitCloseQuantity");
                }
            }
        }
        /// <summary>
        /// Исполненное количество контрактов в  заявке от стоп-заявки на закрытие позиции
        /// </summary>
        public int OrderFromStopLimitCloseBalance
        {
            get { return _orderFromStopLimitCloseBalance; }
            set
            {
                if (_orderFromStopLimitCloseBalance != value)
                {
                    _orderFromStopLimitCloseBalance = value;
                    RaisePropertyChanged("OrderFromStopLimitCloseBalance");
                }
            }
        }
        /// <summary>
        /// Статус  заявки от стоп-заявки на закрытие позиции
        /// </summary>
        public string OrderFromStopLimitCloseStatusOrder
        {
            get { return _orderFromStopLimitCloseStatusOrder; }
            set
            {
                if (_orderFromStopLimitCloseStatusOrder != value)
                {
                    _orderFromStopLimitCloseStatusOrder = value;
                    RaisePropertyChanged("OrderFromStopLimitCloseStatusOrder");
                }
            }
        }
        /// <summary>
        /// ID  заявки от стоп-заявки на закрытие позиции
        /// </summary>
        public long OrderFromStopLimitCloseID
        {
            get { return _orderFromStopLimitCloseId; }
            set
            {
                if (_orderFromStopLimitCloseId != value)
                {
                    _orderFromStopLimitCloseId = value;
                    RaisePropertyChanged("OrderFromStopLimitCloseID");
                }
            }
        }
        /// <summary>
        /// Номер  заявки от стоп-заявки на закрытие позиции
        /// </summary>
        public long OrderFromStopLimitCloseNumberOrder
        {
            get { return _orderFromStopLimitCloseNumberOrder; }
            set
            {
                if (_orderFromStopLimitCloseNumberOrder != value)
                {
                    _orderFromStopLimitCloseNumberOrder = value;
                    RaisePropertyChanged("OrderFromStopLimitCloseNumberOrder");
                }
            }
        }
        /// <summary>
        /// Цена в  заявки от стоп-заявке на закрытие позиции
        /// </summary>
        public double OrderFromStopLimitclosePriceOrder
        {
            get { return _orderFromStopLimitclosePriceOrder; }
            set
            {
                if (_orderFromStopLimitclosePriceOrder != value)
                {
                    _orderFromStopLimitclosePriceOrder = value;
                    RaisePropertyChanged("OrderFromStopLimitclosePriceOrder");
                }
            }
        }

        /// <summary>
        /// Время выставления заявки от стоп-заявки на закрытие позиции фактическое
        /// </summary>
        public DateTime TimeKillCloseOrderFromStopOrder
        {
            get { return _timeKillCloseOrderFromStopOrder; }
            set
            {
                if (_timeKillCloseOrderFromStopOrder != value)
                {
                    _timeKillCloseOrderFromStopOrder = value;
                    RaisePropertyChanged("TimeKillCloseOrderFromStopOrder");
                }
            }
        }
        #endregion стоп-заявка на закрытие позиции

        #endregion public

        public TradesOpen() { }

        #region event PropertyChangedEventHandler

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        #endregion

        public TradesOpen(SerializationInfo info, StreamingContext context)
        {
    
        }

        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {

        }
    }
}
